Multiprotocol label switching (MPLS) is a new protocol that is being developed by the Internet Engineering Task Force (IETF) in order to improve the speed and accuracy of internet communications. The IETF defines MPLS as a standards based label switching technology for large-scale networks. An MPLS network can be a standalone, dedicated network or it can interface with a larger telecommunications network, such as an ATM network, as shown in FIG. 1. Alternatively, an MPLS network could be superimposed over part of an ATM network as shown in FIG. 2.
MPLS networks typically use standard IP addresses to determine the desired destination of a message that enters a source node of the MPLS network. Once this is done, a label is attached to the message, which label defines the MPLS forward path. A data packet that includes the message and label combination then enters the MPLS network and is forwarded to a router that is defined by the label. At the router, the attached label is used to determine the next router to which the message has to be forwarded. Routers that support MPLS are typically referred to as label switched routers (LSR). The label switch mechanism for determining the forward path for the message will be described in more detail with reference to FIGS. 3 to 7.
FIG. 3 shows a multiprotocol label switch network that has a label switched router LSR1, LSR2, LSR3, LSR4 at each network node. Also provided are a source node 10 at which messages that originate from other networks can be introduced into the MPLS network and a sink node 12 at which messages can exit the MPLS network. Included in each label switched router LSR1, LSR2, LSR3, LSR4 is a table that defines the address of the next router in the forward path for the message. FIGS. 4 to 6 show examples of label tables for the source router 10, the router LSR4 and the sink router 12 respectively.
When a message is received at the source router 10, for example, message 1 of FIG. 3, the router 10 notes the interface at which it is received and checks whether there is a label attached. In the case of message 1, this is received at interface C of the source router 10 and is introduced from a non-MPLS network and so does not have a label, see FIG. 7. Receipt of message 1 at interface C causes software in the source router 10 to interrogate its label table to determine an output label for the message and so the next stage of its forward path. The software is operable to search the table to identify the relevant interface, in this case interface C, and then scan from left to right in order to identify the label that is attached to the message (NB in the case of message 1, there is no label). Once the label that is attached to the message is identified, the router software reads from left to right to identify the output interface and the output label for the forward message path. From FIG. 4, it can be seen that messages received at interface C with no label have to be output at interface B together with label L1. Having consulted the label table, the source router 10 software causes message 1 to be output at interface B with label L1. Messages output at interface B are passed to interface D of LSR4.
When message 1 is received at LSR4 a similar process is conducted to determine the forward path. As before, software in the router LSR4 looks at the label associated with the received message and consults its label table to determine the label that determines the forward path. From the label table of FIG. 5, it can be seen that messages received at interface D, and associated with an input label L1 are to be output at interface F and the label L1 is to be switched with label L2. Having consulted the label table, the router software causes message 1 to be output at interface F with label L2. Messages output at interface F are passed to interface G of the sink or egress router 12.
When message 1 is received at the sink router 12, it is interpreted to determine its label. Software in the sink router 12 then consults its label table to establish the label that determines the forward path. From the label table of FIG. 6, it can be seen that a message that is received at interface G with a label L2, is to be output at interface H, with no label, i.e. the message is to leave the MPLS network. This is sometimes referred to as “popping” a label. Having consulted the label table of FIG. 6, the exit router software causes message 1 to be output at interface H without a label. In this way, a forward message path through the MPLS network is defined by a label switching process.
An advantage of MPLS networks is that they can be readily used to engineer network traffic. Traditionally in IP based systems, traffic is always directed along the shortest route. In the network shown in FIG. 8, the shortest route from router A to router C is via router B. A disadvantage of this is, however, that in some circumstances certain parts of the network can be overloaded whilst other parts remain unused. There is no mechanism in traditional IP networks to cause messages to be sent along anything other than the shortest route. In the case of MPLS, however, because the message path is determined by the label switching mechanism, it is relatively straightforward to alter the route taken by signals in the event that network overloading occurs. In the case of FIG. 8, for example, should the forward message route A to B to C become overloaded, the MPLS network can be dynamically altered to divert messages from router A to router C via routers D, E and F, along an MPLS engineered route. This is advantageous.
A further advantage of MPLS is that it can be used to establish a virtual private network. This is because once the initial label is identified, re-direction of a message is done on the basis of the label switching mechanism and not on the basis of the IP address. Hence, the IP address can be kept secure. This means that several customers can use the same network infrastructure, as shown in FIG. 9, without compromising security.
Because of the inherent advantages of MPLS, a significant amount of effort has been invested in standardising the MPLS protocols. A disadvantage of MPLS is, however, that it can be difficult to detect and identify label switched routers that are the source of faults. This is because there are at present no developed or standardised mechanisms for returning backward defect indicators to the MPLS source. Various methods to overcome this problem have been suggested. For example, bi-directional label switching protocols have been proposed. A disadvantage of this is, however, that it requires a significant development of further MPLS standards. Another alternative is to send error messages back via another mechanism such as using the IP control plane. A disadvantage of this is that it may not always be possible to identify the IP address. This is particularly the case in virtual private networks. In addition, it may not always be possible because the label switched path that failed may be unknown or unreachable.